<

マテリアルチップボタンのセマンティクス

まとめ

Flutter は、次のセマンティック ラベルを適用するようになりました。buttonに すべてインタラクティブマテリアルチップアクセシビリティの目的のため。

コンテクスト

インタラクティブ マテリアル チップ (つまり、ActionChipChoiceChipFilterChip、 とInputChip) 意味的にボタンとしてマークされるようになりました。 ただし、非インタラクティブな情報は、Chipではありません。

チップをボタンとしてマークすると、アクセシビリティ ツールに役立ちます。 検索エンジン、その他の意味解析ソフトウェア アプリの意味を理解する。たとえば、それは スクリーン リーダー (Android の TalkBack など) を許可します iOS では VoiceOver) を使用して、タップ可能なチップをアナウンスします。 ユーザーのナビゲーションを支援する「ボタン」として あなたのアプリ。この変更が行われる前は、アクセシビリティのユーザーは ツールのエクスペリエンスが標準以下だった可能性があります。 手動で追加して回避策を実装していない限り、 Chip ウィジェットにセマンティクスが欠落しているあなたのアプリで。

変更内容の説明

一番外側Semanticsすべてをラップするウィジェット セマンティックプロパティを記述するチップクラス 変更されます。

次の変更が適用されますActionChipChoiceChipFilterChip、 とInputChip:

  • button財産 に設定されていますtrue
  • enabled財産 チップが現在タップ可能 (コールバックを設定することによって)。

これらのプロパティの変更により、インタラクティブなチップのセマンティクスがもたらされます。 他人の行動に合わせた行動素材ボタン。

非インタラクティブな情報については、ベッド13d8b-0444-47f4-9b27-7c9a5224ad9c:

  • button財産 に設定されていますfalse
  • enabled財産 に設定されていますnull

移行ガイド

移行を実行する必要がない場合もあります。この変更は、回避策を講じた場合にのみ影響します。 マテリアルチップ欠落問題buttonによるセマンティクス に与えられたウィジェットをラッピングするlabelのフィールドChipとともにSemanticsとしてマークされたウィジェットbutton: trueこの場合、内側と外側は、buttonセマンティクスの競合により、タップ可能な領域が発生します ラベルのサイズまで縮小するボタン この変更が導入された後。この問題を修正してください それを削除するか、Semanticsウィジェットと置換 子と一緒に、または削除することで、button: true他のセマンティックプロパティがまだある場合はプロパティ に適用する必要がありますlabelチップのウィジェット。

次のスニペットでは、InputChip例として、 しかし、同じプロセスが適用されますActionChipChoiceChip、 とFilterChip同じように。

ケース 1:Semanticsウィジェット。

移行前のコード:

Widget myInputChip = InputChip(
  onPressed: () {},
  label: Semantics(
    button: true,
    child: Text('My Input Chip'),
  ),
);

移行後のコード:

Widget myInputChip = InputChip(
  onPressed: () {},
  label: Text('My Input Chip'),
);

ケース 2: 削除するbutton:trueからSemanticsウィジェット。

移行前のコード:

Widget myInputChip = InputChip(
  onPressed: () {},
  label: Semantics(
    button: true,
    hint: 'Example Hint',
    child: Text('My Input Chip'),
  ),
);

移行後のコード:

Widget myInputChip = InputChip(
  onPressed: () {},
  label: Semantics(
    hint: 'Example Hint',
    child: Text('My Input Chip'),
  ),
);

タイムライン

リリースされたバージョン: 1.23.0-7.0.pre
安定版リリース: 2.0.0

参考文献

API ドキュメント:

  • ActionChip
  • Chip
  • ChoiceChip
  • FilterChip
  • InputChip
  • 素材ボタン
  • マテリアルチップ
  • Semantics
  • SemanticsProperties.button
  • SemanticsProperties.enabled

関連する問題:

  • 問題 58010:InputChipは何も発表しません iOS 上の a11y のアクション

関連する PR:

  • PR 60141: マテリアルチップ a11y セマンティクスの調整 ボタンを合わせる
  • PR 60645:「微調整素材チップa11y」を元に戻す ボタンに一致するセマンティクス (#60141)
  • PR 61048:再着地「微調整素材チップa11y」 ボタンに一致するセマンティクス (#60141)